import request from '@/utils/request'

/**
 * 借阅管理API
 */
export default {
  /**
   * 借阅图书
   * @param {Object} data 借阅信息
   */
  borrow(data) {
    return request({
      url: '/borrow/add',
      method: 'post',
      data
    })
  },

  /**
   * 归还图书
   * @param {number} id 借阅记录ID
   */
  return(id) {
    return request({
      url: '/borrow/return',
      method: 'post',
      params: { id }
    })
  },

  /**
   * 续借图书
   * @param {number} id 借阅记录ID
   * @param {number} days 续借天数
   */
  renew(id, days) {
    return request({
      url: '/borrow/renew',
      method: 'post',
      data: { id, days }
    })
  },

  /**
   * 根据ID查询借阅记录
   * @param {number} id 借阅记录ID
   */
  getById(id) {
    return request({
      url: '/borrow/queryById',
      method: 'get',
      params: { id }
    })
  },

  /**
   * 分页查询借阅记录
   * @param {Object} params 查询参数
   */
  getList(params = {}) {
    return request({
      url: '/borrow/list',
      method: 'get',
      params
    })
  },

  /**
   * 查询用户借阅记录
   * @param {number} userId 用户ID
   * @param {Object} params 查询参数
   */
  getUserBorrows(userId, params = {}) {
    return request({
      url: '/borrow/user',
      method: 'get',
      params: { userId, ...params }
    })
  },

  /**
   * 查询图书借阅记录
   * @param {number} bookId 图书ID
   * @param {Object} params 查询参数
   */
  getBookBorrows(bookId, params = {}) {
    return request({
      url: '/borrow/book',
      method: 'get',
      params: { bookId, ...params }
    })
  },

  /**
   * 查询逾期记录
   * @param {Object} params 查询参数
   */
  getOverdue(params = {}) {
    return request({
      url: '/borrow/overdue',
      method: 'get',
      params
    })
  },

  /**
   * 删除借阅记录
   * @param {number} id 借阅记录ID
   */
  delete(id) {
    return request({
      url: '/borrow/delete',
      method: 'post',
      params: { id }
    })
  },

  /**
   * 批量删除借阅记录
   * @param {Array} ids 借阅记录ID数组
   */
  deleteBatch(ids) {
    return request({
      url: '/borrow/deleteBatch',
      method: 'post',
      data: ids
    })
  },

  /**
   * 获取借阅统计
   */
  getStats() {
    return request({
      url: '/borrow/stats',
      method: 'get'
    })
  }
}
